7.3 外部分析结果的注入 EMP_inject
与传统的封闭式分析工具不同,EMP采用了一种"开放封装"的设计——在保持数据容器封装优势的同时,允许用户将外部其他分析工具的结果导入到容器内进行协同EasyMultiProfiler
内的分析结果进行联合分析。
🏷️示例:可以将外部vegan包计算多样性结果导入EMPT
对象内。
Step1:提取微生物的物种注释数据。
tax_se <- MAE |>
EMP_assay_extract('taxonomy')
assay_data <- tax_se |>
EMP_assay_extract(action = 'get')
Step2:使用vegan包计算shannon多样性指数,并命名为new_shannon
。
assay_data <- assay_data |> tibble::column_to_rownames('primary')
shannon_index <- vegan::diversity(assay_data,index = 'shannon')
new_result <- tibble::tibble(primary=names(shannon_index),new_shannon=shannon_index)
new_result
注意:
新增结果中的名称不允许与已经在数据结果内存在的名称重复,否则会导致模块
新增结果中的名称不允许与已经在数据结果内存在的名称重复,否则会导致模块
EMP_filter
无法正常使用。例如,在本示例中需要将外部结果的shanon
指数更名为new_shannon
, 从而避免与EMP_alpha_analysis
的结果名称重复。
Step3:在分析流程中将外部数据结果导入并进行分析。
obj |>
EMP_inject(value = new_result,value_name = 'new_alpha',
affect_when_sample_changed=0,
affect_when_feature_changed=1,
attribute='primary',
attribute2='normal',source='user_import') |>
EMP_filter(sample_condition = new_shannon >2)